1525. Number of Good Ways to Split a String - LeetCode Solution


String Dynamic Programming

Python Code:

class Solution:
    
    def checkForSame(self, a, b):
        count_a = 0
        count_b = 0
        
        for i in range(len(a)):
            if a[i]>0:
                count_a+=1
            if b[i]>0:
                count_b+=1
        return count_a == count_b
    
    def numSplits(self, s: str) -> int:
        a = [0] * 27
        b = [0] * 27
        ans= 0
        for i in range(len(s)):
            a[ord(s[i]) - 97]+=1
        
        for i in range(len(s)):
            ind = ord(s[i]) - 97
            a[ind] -=1
            b[ind]+=1
            if self.checkForSame(a, b):
                ans+=1
        return ans


Comments

Submit
0 Comments
More Questions

1673A - Subtle Substring Subtraction
1345A - Puzzle Pieces
711A - Bus to Udayland
779B - Weird Rounding
1703D - Double Strings
1704C - Virus
63A - Sinking Ship
1704B - Luke is a Foodie
298B - Sail
239A - Two Bags of Potatoes
1704E - Count Seconds
682A - Alyona and Numbers
44A - Indian Summer
1133C - Balanced Team
1704A - Two 0-1 Sequences
1467A - Wizard of Orz
1714E - Add Modulo 10
1714A - Everyone Loves to Sleep
764A - Taymyr is calling you
1714B - Remove Prefix
1264F - Beautiful Fibonacci Problem
52A - 123-sequence
1543A - Exciting Bets
1714D - Color with Occurrences
215B - Olympic Medal
1445A - Array Rearrangment
1351A - A+B (Trial Problem)
935B - Fafa and the Gates
1291A - Even But Not Even
1269A - Equation